home *** CD-ROM | disk | FTP | other *** search
- ╨╟═-64
- ╨ROGRAM ╟RAPHICS ═ANAGEMENT ON THE ├OMMODORE 64
- ┬Y ─AVID ╨. ─ARUS, ╦EN ╞RENCH, AND ╠OUIS ╥. ╫ALLACE
-
- ╧RIGINALLY PUBLISHED IN ├OMMODORE ╨OWER/╨LAY -- ╞EBRUARY/═ARCH 1986
-
-
- ╨╟═ ├OMMAND ╙UMMARY
- -------------------
-
- ┬┴╙┼ ┴──╥┼╙╙ = ┬┴ ┬┴ = 33792
-
- ┴├╘╔╓┴╘┼ ╨╟═ ╙┘╙ ┬┴
-
- ┴CTIVATE INITIALIZES THE ╨╟═ OPERATING SYSTEM. ╘HIS MUST BE
- PRECEDED BY ╙┼╘ ┴──╥┼╙╙.
-
- ─┼┴├╘╔╓┴╘┼ ╨╟═ ╙┘╙ ┬┴ + 3
-
- ─EACTIVATES THE ╨╟═ OPERATING SYSTEM.
-
- ╙┼╘ ┴──╥┼╙╙ ╙┘╙ ┬┴ + 6,┬ITMAP LOCATION, HIRES
- COLOR MEMORY LOCATION
-
- ╙┼╘ ┴──╥┼╙╙ DETERMINES WHERE IN ╥┴═ THE HIGH-RESOLUTION SCREEN AND
- ITS ASSOCIATED COLOR MEMORY RESIDE. ╔T SHOULD BE THE FIRST ╨╟═
- COMMAND IN YOUR PROGRAM AND IMMEDIATELY FOLLOWED BY ┴├╘╔╓┴╘┼ ╨╟═.
- ┬ITMAP SCREENS CAN BE LOCATED IN SEVERAL PLACES. ╘HE ADDRESSES ARE
- 8192 ($2000), 16384 ($4000), 20480 ($5000), 24576 ($6000), 40960
- ($┴000) AND 57344 ($┼000). ╫E SUGGEST YOU USE 57344 (UNDER THE
- KERNAL) FOR YOUR SCREENS, BECAUSE IT WILL NOT REQUIRE YOU TO GIVE UP
- ANY PROGRAMMING ╥┴═ AND WILL STILL LEAVE ROOM FOR SPRITE DATA. ╔F
- THE BITMAP SCREEN IS NOT UNDER ┬┴╙╔├ OR THE KERNAL, CHECK WITH THE
- ├OMMODORE 64 ╨ROGRAMMER'S ╥EFERENCE ╟UIDE FOR SAFE LOCATIONS FOR
- HIGH-RESOLUTION COLOR. ╔F YOU ARE USING THE ╥┴═ UNDER THE KERNAL FOR
- YOUR SCREEN, 52224 IS A VERY GOOD LOCATION FOR HIGH-RESOLUTION COLOR
- MEMORY BECAUSE IT LEAVES 3╦ FREE FROM 49152-52223 FOR SPRITES AND
- CHARACTER SETS. ╔F YOU ARE ALREADY USING THE ╥┴═ UNDER ┬┴╙╔├, THEN
- PUT YOUR COLOR MEMORY AT 32768 ($8000); BUT THERE WILL NOT BE ROOM
- FOR SPRITES IN THAT BANK.
-
- ┬╙┴╓┼ ╙┘╙ ┬┴ + 9,START ADDRESS,END
- ADDRESS,"FILENAME(,TYPE)"
-
- ┬╙┴╓┼ ALLOWS YOU TO SAVE SECTIONS OF ╥┴═ MEMORY TO DISK AS A FILE.
- ╘HIS IS ESPECIALLY USEFUL FOR SCREEN DATA, COLOR MEMORIES, SPRITES,
- CHARACTER DATA OR COMPRESSED DATA.
-
- ┬╠╧┴─ ╙┘╙ ┬┴ + 12,LOAD ADDRESS,
- "FILENAME(,TYPE)"
-
- ┬╠╧┴─ ALLOWS YOU TO LOAD ANY BINARY PROGRAM (SCREENS, SPRITES,
- CHARACTER SETS OR MACHINE CODE) FROM DISK INTO MEMORY. ┴FTER YOU
- PERFORM A ┬╠╧┴─, THE END ADDRESS OF THE LOADED FILE CAN BE FOUND BY
- USING THE ┬┴╙╔├ STATEMENT:
- ┴─ = ╨┼┼╦ (781) + ╨EEK (782)*256
- ╘HIS MUST BE DONE IMMEDIATELY AFTER ┬╠╧┴─ING THE FILE.
-
- ─╧╙ ├╧══┴╬─╙ ╙┘╙ ┬┴ + 15,"─╧╙ COMMAND"
-
- ╘HE ─╧╙ COMMANDS CAN BE ANY LEGAL DISK MAINTENANCE COMMAND. ┼XAMPLES
- ARE:
-
- ╙┘╙ ┬┴ + 15,"$" ╠OAD A DIRECTORY TO THE SCREEN.
- ╙┘╙ ┬┴ + 15,"╙0:FILENAME" ╙CRATCH A FILE CALLED "FILENAME."
- ╙┘╙ ┬┴ + 15,"╬0:DISKNAME,╔─" ╞ORMAT A DISK.
- ╙┘╙ ┬┴ + 15,"" ╥EAD ERROR CHANNEL.
-
- ╞╔╠╠ ═┼═╧╥┘ ╙┘╙ ┬┴ + 18, START ADDRESS, END
- ADDRESS, FILL VALUE
-
- ╞ILL MEMORY WILL PUT A GIVEN VALUE (0-255) INTO ANY SPECIFIED RANGE
- OF ╥┴═. ┴N EXAMPLE:
-
- ╙┘╙ ┬┴ + 18,57344,65343,0 ├LEAR ╥┴═ UNDER ╦ERNEL
-
- ╪╞┼╥ ╙┘╙ ┬┴ + 21, START ADDRESS, END
- ADDRESS, DESTINATION, REVERSE
- VALUE
-
- ╪╞┼╥ WILL TRANSFER ANY SECTION OF ╥┴═ TO ANY OTHER SECTION OF ╥┴═,
- AND CAN OPTIONALLY ┼╧╥ THAT MEMORY. ┴ REVERSE VALUE OF ZERO LEAVES
- IT UNCHANGED; 255 WILL REVERSE THE AREA (LIKE A BITMAP) AND ANY
- OTHER VALUE WILL ENCRYPT IT AS A FUNCTION OF THE REVERSE VALUE.
-
- ╚╔╥┼╙ ╧╬ ╙┘╙ ┬┴ + 24
-
- ╘HIS PUTS THE COMPUTER IN HIGH-RESOLUTION MODE. ╘HE ╙┼╘ ┴──╥┼╙╙
- AND ┴├╘╔╓┴╘┼ COMMANDS SHOULD HAVE BEEN ALREADY ISSUED.
-
- ╚╔╥┼╙ ╧╞╞ ╙┘╙ ┬┴ + 27
-
- ╘HIS RETURNS THE COMPUTER TO TEXT MODE. ╔F YOU WISH TO COMPLETELY
- LEAVE ╨╟═ AND RETURN TO NORMAL ┬┴╙╔├, ISSUE A ─┼┴├╘╔╓┴╘┼ COMMAND
- AFTER THIS.
-
- ═╒╠╘╔├╧╠╧╥ ╧╬ ╙┘╙ ┬┴ + 30
-
- ╘HIS PLACES THE COMPUTER IN MULTICOLOR MODE. ╔F YOU WISH TO
- DISPLAY A MULTICOLOR SCREEN, YOU SHOULD LOAD THE BITMAP WHEREVER
- THE ╙┼╘ ┴──╥┼╙╙ HAS PLACED IT, PUT COLOR MEMORY 1 AT THE ADDRESS
- OF HIGH-RESOLUTION COLOR AND LOAD COLOR MEMORY 2 TO 55296.
-
- ═╒╠╘╔├╧╠╧╥ ╧╞╞ ╙┘╙ ┬┴ + 33
-
- ╘HIS RETURNS THE COMPUTER TO TEXT MODE. ╔T ACTS JUST LIKE ╚╔╥┼╙
- ╧╞╞.
-
- 80-├╧╠╒═╬ ├╚┴╥┴├╘┼╥ ─╥╔╓┼╥ ╙┘╙ ┬┴ + 36, CHAR ADDRESS, ROW,
- COLUMN, STRING
-
- ╘HIS IS A SPECIAL FORM OF THE NORMAL CHARACTER DRIVER. ╔T ALLOWS
- 80-COLUMN CHARACTERS TO BE USED, ALONG WITH THE OTHER TYPES OF
- FONTS. ╔T REQUIRES THE SPECIAL 80-COLUMN CHARACTER SET SUPPLIED.
- ╘HE ├╚┴╥ ┴──╥┼╙╙ IS THE LOCATION IN MEMORY WHERE THE CHARACTER
- SET RESIDES. ╥╧╫ IS THE ROW (80-24) THAT THE STRING IS TO BE
- WRITTEN TO, ├╧╠╒═╬ IS THE COLUMN (0-39) TO START PRINTING AT.
- ╙╘╥╔╬╟ IS WHAT YOU WISH TO PRINT, WHICH CAN BE IN QUOTES OR IN
- A STRING VARIABLE. ╞OR 80 COLUMNS, THE STRING MUST BE OF EVEN
- LENGTH (2,4,6,...). ┘OU CAN USE THE SPECIAL CHARACTER-DRIVER
- CODES FOR COLOR, UNDERLINING AND DOUBLE HEIGHT. ╘HERE IS NO
- OPTION FOR DOUBLE-WIDTH 80-COLUMN CHARACTERS, BECAUSE THAT WOULD
- GIVE NORMAL SIZE CHARACTERS.
-
- ├╚┴╥┴├╘┼╥ ─╥╔╓┼╥ ╙┘╙ ┬┴ + 39,CHAR ADDRESS, ROW,
- COLUMN, STRING
-
- ╘HIS IS THE MAIN CHARACTER DRIVER. ╔T ALLOWS YOU TO USE ANY TYPE
- OF CHARACTER FONT YOU WISH AND HAVE THEM ALL ON THE SAME SCREEN AT
- ONCE. ╘HE ONLY LIMITATION ON THE NUMBER OF FONTS IS THE AMOUNT OF
- ╥┴═ YOU HAVE TO USE. ├╚┴╥ ┴──╥┼╙╙, ╥╧╫, ├╧╠╒═╬ AND ╙╘╥╔╬╟ ARE AS
- IN THE 80-COLUMN CHARACTER DRIVER. ┘OU MAY INCLUDE MOST OF THE
- NORMAL CODES INSIDE THE STRING LIKE CURSORS, COLOR, REVERSE ON/OFF
- AND CLEAR. ╘HESE WORK JUST LIKE NORMAL QUOTE MODE. ╔N ADDITION,
- THERE ARE SEVERAL NEW CONTROL CODES YOU CAN USE:
-
- ╞1 ─OUBLE HEIGHT ON
- ╞2 ─OUBLE HEIGHT OFF
- ╞3 ─OUBLE WIDTH ON
- ╞4 ─OUBLE WIDTH OFF
- ╞5 ╒NDERLINE ON
- ╞6 ╒NDERLINE OFF
- ╞7 ┼RASE UNDER CHARACTER
- ╞8 ─ON'T ERASE UNDER CHARACTER
- ├╘╥╠ ├OLOR ╙ET CHARACTER COLOR
- ├╘╥╠ ┬ ├OLOR ╙ET CHARACTER BACKGROUND COLOR
-
- ╔F YOU WISH TO USE THE STANDARD CHARACTER SETS, THE ├╚┴╥ ┴──╥┼╙╙
- SHOULD BE 53248 (UPPERCASE/GRAPHICS) OR 55296
- (LOWERCASE/UPPERCASE). ╧THER CHARACTER SETS CAN BE USED. ╙IMPLY
- ┬╠╧┴─ THEM TO THE DESIRED ADDRESS IN MEMORY AND THEY CAN BE USED
- WITH THE CHARACTER DRIVER COMMAND. ╧NLY THE NORMAL UNREVERSED
- CHARACTERS IN A SET ARE NEEDED SINCE REVERSE CHARACTERS CAN BE
- CREATED AS NEEDED WITH THE CONTROL CODES. ╘HIS ALLOWS YOU TO HAVE
- A FULL CHARACTER SET IN ONLY HALF THE MEMORY SPACE.
- ╔F YOU WANT TO SET THE FOREGROUND AND BACKGROUND COLOR WHILE
- CLEARING THE SCREEN, PRECEDE THE NORMAL ├╠╥/╚╧═┼ KEY WITH "├╘╥╠
- ┬/├╘╥╠ ├╧╠╧╥/├╠╥/╚╧═┼" (DO NOT TYPE IN THE SLASH MARKS) INSIDE THE
- STRING. ╘HE FIRST COLOR IS THE CHARACTER COLOR, WHILE THE SECOND
- IS THE BACKGROUND COLOR.
-
- ╙TRING VARIABLES MUST BE LESS THAN 255 CHARACTERS (254 MAX) JUST AS
- IN NORMAL ┬┴╙╔├. ┬E CAREFUL WHEN PRINTING AT THE BOTTOM ROW (ROW
- 24), AS ANY ATTEMPT TO WRITE OUTSIDE THE BOUNDS OF THE SCREEN
- MEMORY CAN "CRASH" THE 64. ╘HIS MEANS YOU SHOULD NEVER USE DOUBLE
- HEIGHT CHARACTERS ON ROW 24. ╘HE AMOUNT OF ERROR CHECKING WAS KEPT
- TO A MINIMUM IN ORDER TO MAKE THIS ONE OF THE FASTEST, IF NOT THE
- FASTEST, HIGH-RESOLUTION CHARACTER DRIVERS FOR THE 64
-
- ╔F YOU ARE USING THE AREA UNDER THE KERNEL FOR YOUR SCREEN AND THE
- CHARACTER SET(S) YOU ARE USING ARE BELOW 49152, THEN YOU CANNOT USE
- THE ─ON'T ┼RASE ╒NDER ├HARACTER OPTION (╞8).
-
- ├╧═╨╥┼╙╙ ─┴╘┴ ╙┘╙ ┬┴ + 42, START ADDRESS, END
- ADDRESS, DESTINATION ADDRESS
- (,"FILENAME (,TYPE)")
-
- ╘HIS COMMAND PACKS AN AREA OF MEMORY, SUCH AS A BITMAP SCREEN OR
- COLOR MEMORY INTO A SMALLER DATA STRUCTURE. ╘HE AMOUNT OF
- COMPRESSION DEPENDS ON THE DATA. ╙OME DATA WILL COMPRESS A LOT,
- OTHERS ONLY A LITTLE. ╘HE START ADDRESS IS THE BEGINNING OF THE
- AREA TO COMPRESS. ╘HE END ADDRESS IS THE LAST BYTE TO COMPRESS.
- ╘HE DESTINATION ADDRESS CAN BE ANY AREA OF ╥┴═ YOU WISH TO STORE IT
- IN. ╔F THE DESTINATION ADDRESS IS ZERO, THEN THE DATA IS WRITTEN
- TO THE DISK AND THE FILE NAME IS REQUIRED. ╔F YOU PACK TO ╥┴═
- (DESTINATION ADDRESS IS NOT ZERO), THEN THE ADDRESS OF THE LAST
- BYTE OF PACKED DATA IS RETURNED IN LOCATIONS 781 AND 782 AND CAN BE
- CALCULATED AS:
-
- ╞INAL ADDRESS = ╨┼┼╦(781) + ╨┼┼╦(782)*256
-
- ╫HILE IN MOST CASES YOUR COMPRESSED DATA WILL BE MUCH SMALLER THAN
- THE ORIGINAL, IT IS POSSIBLE FOR IT TO BE ONLY SLIGHTLY COMPRESSED
- AND IN RARE CASES IT COULD BECOME LARGER. ╘HESE DEVIATIONS OCCUR
- ONLY WHEN THE DATA IS NON-REPEATING (EVERY BYTE IS DIFFERENT).
-
- ╒╬├╧═╨╥┼╙╙ ─┴╘┴ ╙┘╙ ┬┴ + 45, START ADDRESS,
- DESTINATION ADDRESS (,"FILENAME
- (,TYPE)")
-
- ╔F THE START ADDRESS IS ZERO, THEN THE DATA FILE GIVEN IN THE FILE
- NAME WILL BE UNPACKED FROM DISK TO THE DESTINATION ADDRESS. ╞OR AN
- AREA OF MEMORY LIKE A BITMAP SCREEN, ├╧═╨╥┼╙╙ ─┴╘┴ AND ╒╬├╧═╨╥┼╙╙
- ─┴╘┴ TAKE LESS THAN A SECOND TO WORK.
-
- ├╧╨┘ ╫╔╬─╧╫ ╙┘╙ ┬┴ + 48, DESTINATION ADDRESS,
- ROW, COLUMN, DELTA ROW, DELTA
- COLUMN
-
- ╘HIS COMMAND WILL STORE THE CONTENTS OF A WINDOW (INCLUDING COLOR)
- TO THE DESTINATION ADDRESS IN ╥┴═. ╥╧╫ (0-24) AND ├╧╠╒═╬ (0-39) ARE
- THE STARTING ROW AND COLUMN TO COPY. ─┼╠╘┴ ╥╧╫ (1-25) AND ─┼╠╘┴
- ├╧╠╒═╬ (1-40) ARE THE DIMENSIONS OF THE WINDOW YOU WISH TO COPY.
- ╘HE LAST ADDRESS USED IN ╥┴═ IS CONTAINED IN LOCATIONS 781 AND 782.
-
- ╠AST ADDRESS = ╨┼┼╦(781)+╨┼┼╦(782)*256
-
- ╥┼╙╘╧╥┼ ╫╔╬─╧╫ ╙┘╙ ┬┴ + 51,START ADDRESS, ROW,
- COLUMN
-
- ╘HIS WILL RESTORE A COPIED WINDOW AT ╙╘┴╥╘ ┴──╥┼╙╙ TO THE SCREEN
- STARTING AT THE ╥╧╫ (0-24) AND ├╧╠╒═╬ (0-39) GIVEN.
-
- ╨╠╧╘ ╙┘╙ ┬┴ + 54,╪,┘(,╞├,┬├)
-
- ╨LOTS A POINT ON THE HIGH-RESOLUTION SCREEN AT ╪ (0-319) AND ┘
- (0-199). ┘OU CAN OPTIONALLY INCLUDE A FOREGROUND COLOR (╞├) AND
- BACKGROUND COLOR (┬├). (├OLORS ARE 1-15.)
-
- ╒╬╨╠╧╘ ╙┘╙ ┬┴ + 57,╪,┘
-
- ╒NPLOTS A POINT AT THE GIVEN SCREEN ╪ (0-319) AND ┘ (0-199).
-
- ─╥┴╫ ╙┘╙ ┬┴ + 60,╪1,┘1,╪2,┘2(,╞├,┬├)
-
- ╨LACES A LINE BETWEEN POINTS ╪1,┘1 AND ╪2,┘2 WHERE ╪ IS 0-319 AND
- ┘ IS 0-199. ╞OREGROUND AND BACKGROUND COLORS ARE OPTIONAL.
-
- ╒╬─╥┴╫ ╙┘╙ ┬┴ + 63,╪1,┘1,╪2,┘2
-
- ╒NDRAWS A LINE BETWEEN THE GIVEN POINTS. ╪ IS 0-319 AND ┘ IS
- 0-199.
-
- ┬╔╘═┴╨ ╞╔╠╠ ╙┘╙ ┬┴ + 66,╪,┘(,╞├,┬├)
-
- ╘HIS PAINTS AN ENCLOSED AREA OF THE SCREEN SPECIFIED BY ╪ AND ┘.
- ╞OREGROUND AND BACKGROUND COLORS ARE OPTIONAL.
-
- ╙╨╠╔╘ ┬╧╥─┼╥ ╙┘╙ ┬┴ + 69,┬─├1,┬─├2
-
- ╘HIS ALLOWS YOU TO HAVE TWO BORDER COLORS VISIBLE AT ONCE. ╔T
- IS EFFECTIVE ONLY IN 14-SPRITE MODE. ├OLORS CAN BE 0-15. ╘HE
- COLORS ARE SPLIT AT THE SCAN LINE (SEE 14-╙╨╥╔╘┼ ═╧─┼.)
-
- 3─ ┬┴╥ ╙┘╙ ┬┴ + 72,╪,┘,─╪,─┘,╚╘(,╞├,┬├)
-
- 3─ ┬┴╥ ALLOWS YOU TO "GROW" A THREE DIMENSIONAL BAR. ╔T CAN ALSO
- BE USED FOR CUBES OR OTHER 3─ RECTANGULAR SHAPES. ╪ IS THE ╪
- COORDINATE OF THE LOWER LEFT CORNER. ─╪ IS THE HORIZONTAL LENGTH
- OF THE BAR (0-255), ─┘ IS THE DEPTH (0-199) AND ╚╘ IS THE HEIGHT OF
- THE 3─ BAR (0-199). ╞OREGROUND AND BACKGROUND COLORS ARE OPTIONAL.
- ╘HE 3─ ┬┴╥ COMMAND HAS EXTENSIVE ERROR CHECKING AND WILL NOT DRAW
- OUTSIDE THE SCREEN BOUNDARY.
-
- ┼╔╟╚╘-╙╨╥╔╘┼ ═╧─┼ ╙┘╙ ┬┴ + 75
-
- ╘HIS DE-ACTIVATES 14-SPRITE MODE. ╞OR BEST RESULTS, YOU SHOULD
- TURN OFF ALL SPRITES, CEASE ANIMATION (IF ANY) AND POSITION SPRITES
- OFF-SCREEN BEFORE GIVING THIS COMMAND.
-
- 14-╙╨╥╔╘┼ ═╧─┼ ╙┘╙ ┬┴ + 78,╙├┴╬╠╔╬┼ 1,╙├┴╬╠╔╬┼ 2
-
-
- ╘HIS ACTIVATES ╨╟═'S 14-SPRITE MODE. ╘HIS MODE ALLOWS THE
- PROGRAMMER AN EXTRA SIX SPRITES BY USING ADVANCED SYSTEM INTERRUPT
- TECHNIQUES. ╘HE ╙├┴╬╠╔╬┼'S ARE THE POSITION WHERE THE INTERRUPTS
- TAKE PLACE. ╙├┴╬╠╔╬┼ 1 CAN BE PLACED ANYWHERE BETWEEN 0 AND 255,
- WHILE ╙├┴╬╠╔╬┼ 2 CAN ALSO BE BETWEEN 0 AND 255. ╞OR BEST RESULTS,
- USE 150 FOR ╙├┴╬╠╔╬┼ 1 AND 255 FOR ╙├┴╬╠╔╬┼ 2. ┘OU MAY NEED TO
- VARY THEM AS YOUR PROGRAM REQUIRES.
-
- ╘HIS MODE OFFERS YOU SEVERAL UNIQUE PROPERTIES, BUT CARE MUST BE
- TAKEN WHEN USING IT. ╘HE SPRITES WILL BE NUMBERED FROM 0-13.
- ╙PRITES 0-6 ARE IN THE TOP OF THE SCREEN ABOVE ╙├┴╬╠╔╬┼ 1 AND
- SPRITES 7-13 ARE AT THE BOTTOM, BELOW ╙├┴╬╠╔╬┼ 1. ╙PRITES 0 AND 13
- CAN CROSS THE BOUNDARY, BUT SPRITES 1-12 MUST STAY ON THEIR
- RESPECTIVE SIDES. ┘OU CANNOT USE THE ┴╬╔═┴╘┼ COMMAND TO MOVE A
- SPRITE ACROSS THE BOUNDARY, BUT THE ╙╨╥╔╘┼ ╨╠╧╘ COMMAND WILL ALLOW
- SPRITES 0 AND 13 TO CROSS. ╘HE ╩╧┘╙╘╔├╦ COMMAND CAN ALSO BE USED
- TO MOVE SPRITES 0 AND 13 ACROSS THE BOUNDARY.
-
- ╔F YOU ATTEMPT TO MOVE A "SHARED SPRITE" (SPRITES 1-12) ACROSS
- ╙├┴╬╠╔╬┼ 1, THE RESULTS ARE UNPREDICTABLE. ╔F YOU WISH, YOU CAN
- USE THE ┴╬╔═┴╘┼ COMMAND TO MOVE SPRITES 0-7 ABOVE ╙├┴╬╠╔╬┼ 1. ╔F
- YOU ARE ANIMATING SPRITE 7 WHILE IN THE 14-SPRITE MODE, YOU CANNOT
- USE SPRITE 13. (╘HEY ARE REALLY THE SAME SPRITE.) ╘HERE IS NO
- PRIVISION FOR ANIMATING SPRITES 8-13. ╞INALLY, IF YOU PUT TOO MUCH
- STRAIN ON THE INTERRUPT (BY MOVING EIGHT SPRITES AT FULL SPEED WITH
- THE ┴╬╔═┴╘┼ COMMAND WHILE IN 14-SPRITE MODE), IT COULD CAUSE SOME
- SPRITE FLICKER. ╘O AVOID THIS, KEEP THE ANIMATED SPRITES AWAY FROM
- THE SCANLINES AND USE SPEEDS NO FASTER THAN NECESSARY.
-
- ╔F YOU ARE GOING TO USE THIS MODE, DO ALL YOUR SPRITE DEFINITIONS
- AND PLOTTING AFTER ACTIVATING IT. ╘HE INFORMATION FOR SPRITES
- 0-13 IS KEPT IN TABLES AND THESE ARE NOT UPDATED UNTIL THE MODE IS
- ACTIVE. ┘OU SHOULD ALSO TURN OFF ALL SPRITES BEFORE EXITING THIS
- MODE.
-
- ╙╨╥╔╘┼ ╧╬/╧╞╞ ╙┘╙ ┬┴ + 81, 0 OR 1,SPRITE #
- (,SPRITE#...)
-
- ╘HIS TURNS ONE OR MORE SPRITES OFF AND ON. ╒SE A ZERO TO TURN THEM
- OFF AND A ONE TO TURN THEM ON. ┘OU CAN TURN ON OR OFF MORE THAN
- ONE BY SEPARATING THE SPRITE NUMBERS WITH COMMAS, OR TURN ALL OF
- THEM ON OR OFF BY USING 255 FOR THE SPRITE NUMBER.
-
- ╙╨╥╔╘┼ ─┼╞╔╬┼ ╙┘╙ ┬┴ + 84,SPRITE #,╨╥,╪╪,┘╪,
- MODE,├1(,├2,├3)
-
- ╘HIS DEFINES A SPRITE. ╘HE SPRITE NUMBER IS THE SPRITE (0-7 IN
- EIGHT-SPRITE MODE, 0-13 IN 14-SPRITE MODE). ╨╥ IS THE SPRITE
- BACKGROUND PRIORITY. ┴ ZERO MAKES THE SPRITE APPEAR IN FRONT OF
- SCREEN DATA, WHILE A ONE MAKES IT GO BEHIND. ╪╪ AND ┘╪ ARE ╪
- EXPAND AND ┘ EXPAND. ┴ ONE WILL CAUSE THEM TO EXPAND; ZERO LEAVES
- THEM UNCHANGED. "═ODE" IS HIGH-RES OR MULTICOLOR, WHERE ZERO
- INDICATES A HIGH-RESOLUTION SPRITE AND ONE A MULTICOLOR SPRITE. ├1
- IS THE SPRITE'S COLOR AND ├2 AND ├3 ARE THE COLORS FOR MULTICOLOR
- SPRITES AND ARE NEEDED ONLY FOR THOSE.
-
- ╙╨╥╔╘┼ ╨╠╧╘ ╙┘╙ ┬┴ + 87,╙╨#,╪,┘,╨╘(,├)
-
- ╘HIS IS AN ABSOLUTE SPRITE MOVEMENT COMMAND. ╔T WILL LOCATE A
- GIVEN SPRITE (0-13) AT AN ╪ (0-512) AND ┘ (0-255). ┘OU MUST
- INCLUDE A POINTER (0-255) AND HAVE THE OPTION FOR A COLOR (0-15).
- ╘HE SPRITE DATA MUST BE WITHIN THE 16╦ BANK WHERE YOUR SCREEN IS
- LOCATED.
-
- ╙╨╥╔╘┼ ╥┼╞╠┼├╘ ╙┘╙ ┬┴ + 90,STARTING POINTER,
- # OF SPRITES(,DESTINATION
- POINTER)
-
- ╘HIS REFLECTS ONE OR MORE SPRITES, BEGINNING AT A STARTING POINTER
- (0-1023) FOR A GIVEN NUMBER OF POINTERS. ┘OU HAVE THE OPTION OF
- DESIGNATING A DESTINATION POINTER (0-1023) WHERE THE NEWLY
- REFLECTED SPRITES WILL BE STORED. ╔F NO DESTINATION IS GIVEN, THEY
- ARE STORED BEGINNING AT THE STARTING POINTER. ╘HE SPRITE POINTERS
- CAN BE ANYWHERE IN THE 64╦ OF THE COMPUTER'S MEMORY, WHICH IS WHY
- YOU HAVE TO 0-1023 VALUE.
-
- ╙╨╥╔╘┼ ╥┼╓┼╥╙┼ ╙┘╙ ┬┴ + 93,STARTING POINTER,
- # OF SPRITES(,DESTINATION
- POINTER)
-
- ╘HIS WILL REVERSE A GIVEN NUMBER OF SPRITES. ╔T WORKS JUST LIKE
- ╙╨╥╔╘┼ ╥┼╞╠┼├╘.
-
- ╙╨╥╔╘┼ ╪╞┼╥ ╙┘╙ ┬┴ + 96, STARTING POINTER,
- # OF SPRITES, DESTINATION
- POINTER
-
- ╘HIS TRANSFERS A SPRITE OR SERIES OF SPRITES BEGINNING AT A
- STARTING POINTER (0-1023) TO A DESTINATION POINTER (0-1023). ╘HIS
- IS VERY USEFUL WHEN YOU NEED MORE SPRITES THAN YOU HAVE ROOM FOR IN
- THE 16╦ BANK OF YOUR SCREEN. ┘OU CAN TRANSFER THEM IN AS NEEDED,
- USING THE SAME AREA FOR EACH.
-
- ┴╬╔═┴╘┼ ╙┘╙ ┬┴ + 99,╙╨#,╪,┘,╙╨─(,┬╨,
- ┼╨,═╨╙(,╞┬╨,╞┼╨,╞╙╨))
-
- ╘HIS COMMAND ALLOWS YOU TO AUTOMATICALLY MOVE AND ANIMATE SPRITES
- 0-7 WITHOUT ANY INTERVENTION FROM ┬┴╙╔├ ONCE THE COMMAND IS GIVEN.
- ╙╨# IS THE SPRITE NUMBER (0-7), ╪ IS THE ╪ LOCATION TO GO TO
- (0-512), ┘ IS THE ┘ LOCATION (0-255) AND ╙╨─ IS THE ANIMATE SPEED
- (0-255). ╧NE IS THE FASTEST SPEED AND 255 IS THE SLOWEST. ┌ERO
- WILL CAUSE IT TO NOT ANIMATE. ╘HE FIRST SET OF OPTIONAL PARAMETERS
- ARE FOR THE INTERNAL ANIMATION, WHILE THE SPRITE IS MOVING TO
- LOCATION ╪,┘. ┬╨ IS THE BEGINNING POINTER AND ┼╨ IS THE ENDING
- POINTER. ═╨╙ IS THE MOVING POINTER SPEED (0-255), WHERE, AGAIN,
- ONE IS THE FASTEST, 255 THE SLOWEST AND ZERO WILL STOP THE INTERNAL
- ANIMATION. ╘HIS WILL ALLOW A SPRITE TO CHANGE ITS POINTER (WHICH
- POINTS TO ITS SHAPE) DYNAMICALLY WHILE IT IS MOVING. ╘HE MOVING
- POINTER SPEED (═╨╙) IS HOW FAST TO CHANGE THE POINTER WHILE MOVING.
- ╘HESE POINTERS MUST BE IN CONSECUTIVE ORDER. ╘HE FINAL SET OF
- OPTIONS DICTATES WHAT HAPPENS WHEN THE SPRITE REACHES ITS
- DESTINATION. ╘HEY ALLOW IT TO START ANOTHER INTERNAL ANIMATION
- SEQUENCE AT ANOTHER GIVEN SPEED. ╞┬╨ IS THE FINAL BUFFER POINTER
- AFTER THE DESTINATION IS REACHED, ╞┼╨ IS THE FINAL ENDING POINTER
- AND ╞╙╨ IS THE FINAL POINTER-CHANGE SPEED. ┴LL POINTERS ARE 0-255,
- WHILE BOTH SPEEDS ARE 0-255, WITH ONE THE FASTEST AND 255 THE
- SLOWEST.
-
- ├┼┴╙┼ ┴╬╔═┴╘╔╧╬ ╙┘╙ ┬┴ + 102,╙╨#,╨╘
-
- ╘HIS CAUSES A SPRITE (0-7) TO STOP ANIMATING AND QUIT AT A
- SPECIFIED POINTER, ╨╘ (0-255). ╔T IS RECOMMENDED THAT YOU ISSUE A
- ├┼┴╙┼ ┴╬╔═┴╘┼ COMMAND AFTER FINISHING YOUR ANIMATION SEQUENCE.
-
- ╩╧┘╙╘╔├╦ ╧╬ ╙┘╙ ┬┴ + 105,╙╨#,SPEED
-
- ╘HIS IS THE MOUSE EMULATOR. ╙╨# CAN BE ANY SPRITE FROM 0-13 AND
- SPEED IS FROM 0-255. ╘HIS SPEED IS THE NUMBER OF PIXELS THE SPRITE
- WILL BE MOVED EACH TIME THE JOYSTICK IS USED. ┘OU CAN ALSO USE THE
- CURSOR KEYS INSTEAD OF THE JOYSTICK. ╔N 14-SPRITE MODE, ALL THE
- SPRITES WILL WORK BUT ONLY SPRITES 0 AND 13 CAN CROSS THE SCANLINE
- BOUNDARY.
-
- ╩╧┘╙╘╔├╦ ╧╞╞ ╙┘╙ ┬┴ + 108
-
- ╘HIS DE-ACTIVATES THE JOYSTICK MOUSE EMULATOR.
-
- ├╧╠╧╥ ╫╔╬─╧╫ ╙┘╙ ┬┴ + 111,ROW,COLUMN,─ROW,
- ─COLUMN,╞├,┬├
-
- ╘HIS FILLS A WINDOW WITH A SPECIFIED COLOR COMBINATION. ╥╧╫ IS THE
- STARTING ROW (0-24) AND ├╧╠╒═╬ IS THE STARTING COLUMN (0-39). ─╥╧╫
- IS THE NUMBER OF ROWS DOWN (1-25) AND ─├╧╠╒═╬ IS THE NUMBER OF
- COLUMNS OVER (1-40). ╞├ AND ┬├ ARE FOREGROUND AND BACKGROUND
- COLORS.
-
- ╥┼╓┼╥╙┼ ╫╔╬─╧╫ ╙┘╙ ┬┴ + 114,REVERSE VALUE,
- ROW,COLUMN,─ROW,─COLUMN
-
- ╘HIS WILL REVERSE THE BITMAP WITHIN A WINDOW DEFINED BY ╥╧╫ (0-24),
- ├╧╠╒═╬ (0-39), ─╥╧╫ (1-25) ┴╬─ ─├╧╠╒═╬ (1-40). ╘HE REVERSE VALUE
- SHOULD BE 255. ┴NY OTHER VALUE CAN BE USED FOR UNUSUAL EFFECTS IN
- THE WINDOW DISPLAY.
-
- ╞╔╠╠ ╫╔╬─╧╫ ╙┘╙ ┬┴ + 117,FILL VALUE,ROW,
- COLUMN,─ROW,─COLUMN
-
- ╘HIS IS USED TO SELECTIVELY FILL A WINDOW'S BITMAP. ┴ FILL VALUE
- OF ZERO WOULD CLEAR IT, WHILE 255 WOULD MAKE IT SOLID. ╧THER
- VALUES CAN BE USED FOR SPECIAL EFFECTS. ╥╧╫ OS 0-24, ├╧╠╒═╬ IS
- 0-39, ─╥╧╫ IS 1-25 AND ─├╧╠╒═╬ IS 1-40.
-
- ─╔╥┼├╘╧╥┘ ╥┼┴─┼╥ ╙┘╙ ┬┴ + 120
-
- ╘HIS WILL RETURN A STRING OF 32 CHARACTERS THAT CONTAINS A FILE
- NAME FROM YOUR DISK DIRECTORY. ╘HE STRING SHOULD BE DEFINED BEFORE
- ANY OTHER VARIABLE IN YOUR PROGRAM AS A STRING OF 32 SPACES. ╘HIS
- REQUIRES SOME SETUP IN YOUR ┬┴╙╔├, BUT ENABLES YOU TO PLACE THE
- DIRECTORY OF A DISK INTO VARIABLES WITHIN YOUR PROGRAM. ╔T IS ALSO
- VERY FAST. ╥EFER TO THE SMALL PROGRAM CALLED ─╔╥┼├╘╧╥┘ ╥┼┴─┼╥ FOR
- PROGRAMMING INFORMATION ON THIS FUNCTION.
-
-
-
- ╘HIS FILE WAS PAINSTAKINGLY TYPED IN BY ╘HE ╙HARK! FROM THE ╨╟═ ARTICLE IN
- THE ╞EB./═ARCH 1986 ├OMMODORE ╨OWER/╨LAY MAGAZINE BY ─AVID ╨. ─ARUS, ╦EN
- ╞RENCH, AND ╠OUIS ╥. ╫ALLACE. ╘HE PROGRAM HAS BEEN GRACIOUSLY PLACED IN
- THE PUBLIC DOMAIN BY THE AUTHORS. ╞OR AN OVERVIEW OF ╨╟═-64, TIPS ON ITS
- USE, AND MEMORY MAP, SEE ╨╟═ ╧╓┼╥╓╔┼╫.─╧├.
-